//这个文件是用来书写api接口请求函数的文件
//以后我们请求获取数据，每个接口都对应一个函数去发请求

//请求获取三级分类列表数据的函数
// /api/product/getBaseCategoryList
// get
import Ajax from './ajax'
import mockAjax from './mockAjax'

export const reqCategoryList = () => {
  return Ajax({
    url:'/product/getBaseCategoryList',
    method:'get'
  })
} 


//请求获取mock的接口，首页的轮播图列表
// /mock/banner
// get
export const reqBannerList = () => {
  return mockAjax({
    url:'/banner',
    method:'get'
  })
}

export const reqFloorList = () => {
  return mockAjax({
    url:'/floor',
    method:'get'
  })
}

///api/list
//post
//请求获取商品列表数据信息（search搜索商品）
export const reqGoodsListInfo = (searchParams) => {
  return Ajax({
    url:'/list',
    method:'post',
    data:searchParams
  })
}

// reqGoodsListInfo({})  //测试的时候必须携带参数，假设不知道参数是什么，至少给个空的对象

//请求获取详情数据

///api/item/{ skuId }
//get

export const reqGoodsDetailInfo = (skuId) => {
  return Ajax({
    url:`/item/${ skuId }`,
    method:'get'
  })
}

//请求添加购物车（修改购物车的商品数量）
// /api/cart/addToCart/{ skuId }/{ skuNum }
//POST

export const reqAddOrUpdateShopCart = (skuId,skuNum) => {
  return Ajax({
    url:`/cart/addToCart/${ skuId }/${ skuNum }`,
    method:'pOst'
  })
}


// /api/cart/cartList
// get

export const reqShopCartList = () => {
  return Ajax({
    url:'/cart/cartList',
    method:'get'
  })
}


// 修改单个购物车选中状态
///api/cart/checkCart/{skuId}/{isChecked}
// get

export const reqUpdateOneIsChecked = (skuId,isChecked) => {
  return Ajax({
    url:`/cart/checkCart/${skuId}/${isChecked}`,
    method:'get'
  })
}


//修改多个购物车选中状态
///api/cart/batchCheckCart/{isChecked}
//post
export const reqUpdateAllIsChecked = (isChecked,skuIds) => {
  return Ajax({
    url:`/cart/batchCheckCart/${isChecked}`,
    method:'post',
    data:skuIds
  })
} 



// 请求删除单个购物车
///api/cart/deleteCart/{skuId}
//delete
export const reqDeleteShopCart = (skuId) => {
  return Ajax({
    url:`/cart/deleteCart/${skuId}`,
    method:'delete'
  })
}

// 请求删除多个购物车
///api/cart/batchDeleteCart
// delete
export const reqDeleteAllShopCart = (skuIds) => {
  return Ajax({
    url:'/cart/batchDeleteCart',
    method:'delete',
    data:skuIds
  })
}

// /api/user/passport/sendCode/{phone}
// 获取验证码
// get
export const reqGetCode = (phone) => {
  return Ajax({
    url:`/user/passport/sendCode/${phone}`,
    method:'get'
  })
}

// 请求注册用户
///api/user/passport/register
//post
export const reqUserRegister = (userInfo) => {
  return Ajax({
    url:'/user/passport/register',
    method:'post',
    data:userInfo
  })
}

// 请求登录用户 登录后会返回一个token
///api/user/passport/login
//post
export const reqUserLogin = (userInfo) => {
  return Ajax({
    url:'/user/passport/login',
    method:'post',
    data:userInfo
  })
}

// 根据token获取用户请求
///api/user/passport/auth/getUserInfo
export const reqGetUserInfo = ()=>{
  return Ajax({
    url:'/user/passport/auth/getUserInfo',
    method:'get'
  })
}

// 请求退出登录
///api/user/passport/logout
export const reqUserLoginout = ()=>{
  return Ajax({
    url:'/user/passport/logout',
    method:'get'
  })
}

// 请求获取用户收货地址信息
///api/user/userAddress/auth/findUserAddressList
//get
export const reqUserAddressList = ()=>{
  return Ajax({
    url:'/user/userAddress/auth/findUserAddressList',
    method:'get'
  })
}


// 请求获取交易页订单信息
///api/order/auth/trade
// get
export const reqTradeInfo = ()=>{
   return Ajax({
     url:'/order/auth/trade',
     method:'get'
   })
}


// 提交订单
// /api/order/auth/submitOrder?tradeNo={tradeNo}
// query参数和请求体参数
// post

export const reqSubmitOrder = (tradeNo, tradeinfo)=>{
    return Ajax({
      url:`/order/auth/submitOrder?tradeNo=${tradeNo}`,
      method:'post',
      data:tradeinfo
    })
}


// 三种暴露方式暴露出文件袋额时候都是 一个对象
// 只不过对象的形成方式不一样
// let obj = {name:xx, age:22}
// export default obj
// 暴露出去是对象
// {
//   default:obj
// }
//全写
// import {default as obj} from './xxx'
//简写
// import obj from './xxx'

//分别暴露暴露出文件的时候也一定是一个对象, 在分别报漏出去的东西外面自动添加{}
// {
//   //  reqTradeInfo，
//   //  reqSubmitOrder
// }

// 统一暴露出去也是对象,这个对象是自己添加{}, 暴露的就是export后面的对象
// const a = 100
// const b = [1,2,3]
// const c = {}
// export {
//   a,b,c
// }

// import {a} from './xxx'
// import * as API from './xxx' //获取的就是出去的对象









